home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / gnu / emacs.lha / emacs-19.16 / lisp / tcp.el < prev    next >
Lisp/Scheme  |  1993-05-19  |  3KB  |  74 lines

  1. ;;; TCP/IP stream emulation for GNU Emacs
  2. ;; Copyright (C) 1988, 1989, 1993 Free Software Foundation, Inc.
  3.  
  4. ;;; Author: Masanobu Umeda
  5. ;;; Maintainer: umerin@mse.kyutech.ac.jp
  6.  
  7. ;; This file is part of GNU Emacs.
  8.  
  9. ;; GNU Emacs is free software; you can redistribute it and/or modify
  10. ;; it under the terms of the GNU General Public License as published by
  11. ;; the Free Software Foundation; either version 2, or (at your option)
  12. ;; any later version.
  13.  
  14. ;; GNU Emacs is distributed in the hope that it will be useful,
  15. ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17. ;; GNU General Public License for more details.
  18.  
  19. ;; You should have received a copy of the GNU General Public License
  20. ;; along with GNU Emacs; see the file COPYING.  If not, write to
  21. ;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  22.  
  23. ;;; Commentary:
  24.  
  25. ;; Notes on TCP package:
  26. ;;
  27. ;; This package provides a TCP/IP stream emulation for GNU Emacs. If
  28. ;; the function `open-network-stream' is not defined in Emacs, but
  29. ;; your operating system has a capability of network stream
  30. ;; connection, this tcp package can be used for communicating with
  31. ;; NNTP server.
  32. ;;
  33. ;; The tcp package runs inferior process which actually does the role
  34. ;; of `open-network-stream'.  The program `tcp' provided with this
  35. ;; package can be used for such purpose.  Before loading the package,
  36. ;; compile `tcp.c' and install it as `tcp' in a directory in the emacs
  37. ;; search path. If you modify `tcp.c', please send diffs to the author
  38. ;; of GNUS.  I'll include some of them in the next releases.
  39.  
  40. ;;; Code:
  41.  
  42. (provide 'tcp)
  43.  
  44. (defvar tcp-program-name "tcp"
  45.   "*The name of the program emulating open-network-stream function.")
  46.  
  47. (defun open-network-stream (name buffer host service)
  48.   "Open a TCP connection for a service to a host.
  49. Returns a subprocess-object to represent the connection.
  50. Input and output work as for subprocesses; `delete-process' closes it.
  51. Args are NAME BUFFER HOST SERVICE.
  52. NAME is name for process.  It is modified if necessary to make it unique.
  53. BUFFER is the buffer (or buffer-name) to associate with the process.
  54.  Process output goes at end of that buffer, unless you specify
  55.  an output stream or filter function to handle the output.
  56.  BUFFER may be also nil, meaning that this process is not associated
  57.  with any buffer
  58. Third arg is name of the host to connect to.
  59. Fourth arg SERVICE is name of the service desired, or an integer
  60.  specifying a port number to connect to."
  61.   (let ((proc (start-process name buffer 
  62.                  tcp-program-name
  63.                  host 
  64.                  (if (stringp service)
  65.                  service
  66.                    (int-to-string service))
  67.                  )))
  68.     (process-kill-without-query proc)
  69.     ;; Return process
  70.     proc
  71.     ))
  72.  
  73. ;;; tcp.el ends here
  74.